diff --git a/system/core/Input.php b/system/core/Input.php
index d707fe2..1e21886 100644
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -157,19 +157,20 @@
 		{
 			$value = $array[$index];
 		}
-		elseif (($count = preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $index, $matches)) > 1)		// Does the index contain array notation
+		elseif (($count = preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $index, $matches)) > 1) // Does the index contain array notation
 		{
-			$container = $array;
+			$value = $array;
 			for ($i = 0; $i < $count; $i++)
 			{
 				$key = trim($matches[0][$i], '[]');
-				if($key === '')			// The array notation will return the value as array
+				if($key === '') // Empty notation will return the value as array
 				{
 					break;
 				}
-				if (isset($container[$key]))
+
+				if (isset($value[$key]))
 				{
-					$value = $container = $container[$key];
+					$value = $value[$key];
 				}
 				else
 				{
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 443a06a..e2c0cc4 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -642,18 +642,13 @@
 	 */
 	function set_value($field = '', $default = '', $is_textarea = FALSE)
 	{
-		if (FALSE !== ($OBJ =& _get_validation_object()) && $OBJ->has_rule($field))
-		{
-			return form_prep($OBJ->set_value($field, $default), $is_textarea);
-		}
-
 		$CI =& get_instance();
-		if (NULL !== ($value = $CI->input->post($field, FALSE)))
-		{
-			return form_prep($value, $is_textarea);
-		}
 
-		return form_prep($default, $is_textarea);
+		$value = (isset($CI->form_validation) && is_object($CI->form_validation) && $CI->form_validation->has_rule($field))
+			? $CI->form_validation->set_value($field, $default)
+			: $CI->input->post($field, FALSE);
+
+		return form_prep($value === NULL ? $default : $value, $is_textarea);
 	}
 }
 
